package com.jzo2o.customer.service;


import com.baomidou.mybatisplus.extension.service.IService;
import com.jzo2o.common.model.PageResult;
import com.jzo2o.customer.model.domain.WorkerCertificationAudit;
import com.jzo2o.customer.model.dto.request.WorkerCertificationAuditAddReqDTO;
import com.jzo2o.customer.model.dto.request.WorkerCertificationAuditPageQueryReqDTO;
import com.jzo2o.customer.model.dto.response.RejectReasonResDTO;
import com.jzo2o.customer.model.dto.response.WorkerCertificationAuditResDTO;

/**
 * <p>
 * 服务人员认证审核表 服务类
 * </p>
 *
 * @author szc
 * @since 2025-09-17
 */
public interface IWorkerCertificationAuditService extends IService<WorkerCertificationAudit> {

    /**
     * 服务人员认证
     *
     * @param workerCertificationAuditAddReqDTO 服务人员认证模型
     */
    void certification(WorkerCertificationAuditAddReqDTO workerCertificationAuditAddReqDTO);

    /**
     * 查询最新驳回原因
     *
     * @return 驳回原因
     */
    RejectReasonResDTO getRejectReason();

    /**
     * 分页查询
     *
     * @param workerCertificationAuditPageQueryReqDTO 查询参数
     * @return 分页结果
     */
    PageResult<WorkerCertificationAuditResDTO> pageQuery(WorkerCertificationAuditPageQueryReqDTO workerCertificationAuditPageQueryReqDTO);

    /**
     * 审核服务人员认证信息
     *
     * @param certificationStatus 审核状态
     * @param rejectReason 驳回原因
     * @param id id
     */
    void audit(Integer certificationStatus, String rejectReason, Long id);
}
